Android电源管理之Doze模式深度解析

📚 共计 30 章节
01
Doze模式概述
什么是Doze模式、为什么需要Doze、发展历史 (Android 6.0→14+)
基础历史
02
核心原理
状态机模型、空闲状态检测、省电策略
原理状态机
03
触发条件
设备静止、屏幕关闭、未充电
条件触发
04
两种形态
浅度Doze (Light Doze) 与 深度Doze (Deep Doze)
LightDeep
05
维护窗口
Maintenance Window 工作原理、时间间隔变化
窗口间隔
06
白名单机制
Power Whitelist · 添加方式 · 系统预置 · 用户配置
白名单豁免
07
网络访问限制
如何限制、对应用的影响
网络限制
08
Alarm限制
setAlarmClock / setAlarm / setExact 区别
Alarm精确
09
JobScheduler & WorkManager
在Doze下的行为差异
JobWorkManager
10
GPS与传感器限制
位置更新频率变化
GPS传感器
11
WakeLock限制
部分WakeLock被忽略
WakeLock忽略
12
前台服务 (Foreground Service)
前台服务是否受影响
前台服务
13
FCM 高优先级消息
Firebase Cloud Messaging 如何穿透Doze
FCM穿透
14
检测Doze模式
PowerManager.isDeviceIdleMode()
API检测
15
请求忽略电池优化
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 权限
权限优化
16
适配最佳实践
WorkManager · 避免长连接 · 合理使用Alarm
实践适配
17
测试Doze模式
adb命令模拟 · dumpsys battery_unsettling
测试adb
18
Doze vs App Standby
两种省电机制的对比
对比Standby
19
后台限制 (Android 9+)
Background Restrictions 演进
后台限制
20
Battery Historian 分析
如何分析Doze影响
工具分析
21
厂商定制Doze
华为、小米、OPPO 等魔改
厂商定制
22
常见问题
消息延迟 · 同步失败 · Alarm不准时
问题排查
23
调试Doze
logcat关键字 · dumpsys power
调试logcat
24
Android 12 睡眠模式
Sleep Mode 新变化
Android12睡眠
25
Android 13 电池健康
Battery Health 联动机制
Android13健康
26
Android 14 节能模式
Extreme Battery Saver 更激进策略
Android14极限
27
源码分析: PowerManagerService
Java层 Doze逻辑
源码PMS
28
源码分析: DeviceIdleController
启动与状态转换
源码DIC
29
源码分析: AlarmManagerService
Doze下的Alarm处理
源码Alarm
30
总结与展望
Doze模式的未来演进方向
总结未来